// #include <iostream>
// #include <unistd.h>
// #include <sys/types.h>
// #include <fcntl.h>

// int main()
// {
//     //关闭1号文件描述符
//     close(1);
//     int fd = open("./log.txt", O_CREAT | O_RDWR | O_APPEND);

//     //打印log文件的文件描述符
//     printf("log.txt fd: %d", fd);
//     //输出hello world
//     printf("hello world");

//     //刷新缓冲区--相当于刷新1号文件缓冲区
//     fflush(stdout);
//     //关闭文件描述符
//     close(fd);
//     return 0;
// }

// #include <iostream>
// #include <unistd.h>
// #include <fcntl.h>

// int main()
// {
//     //关闭0号文件描述符--标准输入
//     close(0);
//     int fd = open("./log.txt", O_RDONLY);
    
//     char buffer[1024];
//     //从log中取数据
//     fread(buffer, 1, sizeof(buffer) - 1, stdin);
    
//     printf("%s", buffer);
//     close(fd);
//     return 0;
// }

// int main()
// {
//     //关闭0号文件描述符--标准输入
//     close(0);
//     int fd = open("./log.txt", O_RDONLY);
    
//     int buffer[10];
//     //从log中取数据
//     fread(buffer, sizeof(int), 10, stdin);
    
//     for(int i = 0; i < 10; i++)
//     {
//         printf("%d ", buffer[i]);
//     }
//     close(fd);
//     return 0;
// }

// #include <iostream>
// #include <cstring>
// #include <unistd.h>
// #include <fcntl.h>

// int main()
// {
//     //以写的方式打开log文件
//     int fd = open("./log.txt", O_WRONLY);
//     //输出重定向
//     dup2(fd, 1);
    
//     fprintf(stdout, "hello fprintf\n");
//     printf("hello printf\n");
//     fputs("hello fputs\n", stdout);

//     const char* str = "system call : hello write\n";
//     write(1, str, strlen(str));

//     //创建子进程
//     fork();
//     close(fd);
//     return 0;
// }

// #include "mylib/include/test.h"

// int main()
// {
//     printf("%d\n", Add(1, 2));
//     return 0;
// }


// #include <iostream>
// #include <unistd.h>
// #include <sys/types.h>
// #include <sys/stat.h>
// #include <fcntl.h>

// #define PIPE_FILE "pipe_file"

// void CreatePipeFile()
// {
//     //创建命名管道文件
//     mkfifo(PIPE_FILE, 0666);
// }

// int main()
// {
//     //以读的方式打开管道文件，如果不存在就创建命名管道
//     int fd = -1;
//     while(1)
//     {
//         fd = open(PIPE_FILE, O_RDONLY);
//         if(fd < 0)
//         {
//             CreatePipeFile();
//         }
//         else
//         {
//             break;
//         }
//     }

//     //读取内容
//     while(1)
//     {
//         char buffer[1024];
//         int ret = read(fd, buffer, sizeof(buffer) - 1);
//         //读取出错
//         if(ret < 0)
//         {
//             return -1;
//         }
//         //对端关闭了写操作
//         else if(ret == 0)
//         {
//             std::cout << "write server is close" << std::endl;
//             return 0;
//         }
//         //输出读取内容
//         else
//         {
//             buffer[ret] = '\0';
//             std::cout << buffer << std::endl;
//         }
//     }
//     close(fd);
//     return 0;
// }